home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / dist6.3 / gl_dev.idb / usr / include / GL / glc.h.z / glc.h
Encoding:
C/C++ Source or Header  |  1996-12-06  |  8.1 KB  |  207 lines

  1. #if !defined(__glc_h_)
  2. #define __glc_h_
  3.  
  4. /*
  5. ** Copyright 1995-2095, Silicon Graphics, Inc.
  6. ** All Rights Reserved.
  7. ** 
  8. ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  9. ** the contents of this file may not be disclosed to third parties, copied or
  10. ** duplicated in any form, in whole or in part, without the prior written
  11. ** permission of Silicon Graphics, Inc.
  12. ** 
  13. ** RESTRICTED RIGHTS LEGEND:
  14. ** Use, duplication or disclosure by the Government is subject to restrictions
  15. ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  16. ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  17. ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  18. ** rights reserved under the Copyright Laws of the United States.
  19. */
  20.  
  21. #include <GL/gl.h>
  22.  
  23. #if defined(__cplusplus)
  24.     extern "C" {
  25. #endif /* defined(__cplusplus) */
  26.  
  27. typedef void GLCchar;
  28. typedef GLint GLCenum;
  29.  
  30. #if defined(__cplusplus)
  31. typedef void (*GLCfunc)(...);
  32. #else
  33. typedef void (*GLCfunc)();
  34. #endif
  35.  
  36. /*************************************************************/
  37.  
  38. /* Fundamental */
  39. #define GLC_NONE                                  0x0000
  40.  
  41. /* Boolean */
  42. #define GLC_AUTO_FONT                             0x0010
  43. #define GLC_GL_OBJECTS                            0x0011
  44. #define GLC_MIPMAP                                0x0012
  45.  
  46. /* CallbackOpcode */
  47. #define GLC_OP_glcUnmappedCode                    0x0020
  48.  
  49. /* CharMetric / StringMetric */
  50. #define GLC_BASELINE                              0x0030
  51. #define GLC_BOUNDS                                0x0031
  52.  
  53. /* ErrorCode */
  54. /*      GLC_NONE */
  55. #define GLC_PARAMETER_ERROR                       0x0040
  56. #define GLC_RESOURCE_ERROR                        0x0041
  57. #define GLC_STATE_ERROR                           0x0042
  58.  
  59. /* FontListc / MasterListc */
  60. #define GLC_CHAR_LIST                             0x0050
  61. #define GLC_FACE_LIST                             0x0051
  62.  
  63. /* Fontc / Masterc */
  64. #define GLC_FAMILY                                0x0060
  65. #define GLC_MASTER_FORMAT                         0x0061
  66. #define GLC_VENDOR                                0x0062
  67. #define GLC_VERSION                               0x0063
  68.  
  69. /* Fonti / Masteri */
  70. #define GLC_CHAR_COUNT                            0x0070
  71. #define GLC_FACE_COUNT                            0x0071
  72. #define GLC_IS_FIXED_PITCH                        0x0072
  73. #define GLC_MAX_MAPPED_CODE                       0x0073
  74. #define GLC_MIN_MAPPED_CODE                       0x0074
  75.  
  76. /* GetListc */
  77. #define GLC_CATALOG_LIST                          0x0080
  78.  
  79. /* GetListi */
  80. #define GLC_CURRENT_FONT_LIST                     0x0090
  81. #define GLC_FONT_LIST                             0x0091
  82. #define GLC_LIST_OBJECT_LIST                      0x0092
  83. #define GLC_TEXTURE_OBJECT_LIST                   0x0093
  84.  
  85. /* GetPointer */
  86. #define GLC_DATA_POINTER                          0x00A0
  87.  
  88. /* Getc */
  89. /*  GLC_VENDOR */
  90. #define GLC_EXTENSIONS                            0x00B0
  91. #define GLC_RELEASE                               0x00B1
  92.  
  93. /* Getf */
  94. #define GLC_RESOLUTION                            0x00C0
  95.  
  96. /* Getfv */
  97. #define GLC_BITMAP_MATRIX                         0x00D0
  98.  
  99. /* Geti */
  100. #define GLC_CATALOG_COUNT                         0x00E0
  101. #define GLC_CURRENT_FONT_COUNT                    0x00E1
  102. #define GLC_FONT_COUNT                            0x00E2
  103. #define GLC_LIST_OBJECT_COUNT                     0x00E3
  104. #define GLC_MASTER_COUNT                          0x00E4
  105. #define GLC_MEASURED_CHAR_COUNT                   0x00E5
  106. #define GLC_RENDER_STYLE                          0x00E6
  107. #define GLC_REPLACEMENT_CODE                      0x00E7
  108. #define GLC_STRING_TYPE                           0x00E8
  109. #define GLC_TEXTURE_OBJECT_COUNT                  0x00E9
  110. #define GLC_VERSION_MAJOR                         0x00EA
  111. #define GLC_VERSION_MINOR                         0x00EB
  112.  
  113. /* RenderStyle */
  114. #define GLC_BITMAP                                0x0100
  115. #define GLC_LINE                                  0x0101
  116. #define GLC_TEXTURE                               0x0102
  117. #define GLC_TRIANGLE                              0x0103
  118.  
  119. /* StringType */
  120. #define GLC_UCS1                                  0x0110
  121. #define GLC_UCS2                                  0x0111
  122. #define GLC_UCS4                                  0x0112
  123.  
  124. /*************************************************************/
  125.  
  126. /* GLC global commands */
  127. extern void glcContext (GLint inContext);
  128. extern void glcDeleteContext (GLint inContext);
  129. extern GLint glcGenContext (void);
  130. extern GLint* glcGetAllContexts (void);
  131. extern GLint glcGetCurrentContext (void);
  132. extern GLCenum glcGetError (void);
  133. extern GLboolean glcIsContext (GLint inContext);
  134.  
  135. /* GLC context commands */
  136. extern void glcCallbackFunc (GLCenum inOpcode, GLCfunc inFunc);
  137. extern void glcDataPointer (GLvoid *inPointer);
  138. extern void glcDeleteGLObjects (void);
  139. extern void glcDisable (GLCenum inAttrib);
  140. extern void glcEnable (GLCenum inAttrib);
  141. extern GLCfunc glcGetCallbackFunc (GLCenum inOpcode);
  142. extern const GLCchar* glcGetListc (GLCenum inAttrib, GLint inIndex);
  143. extern GLint glcGetListi (GLCenum inAttrib, GLint inIndex);
  144. extern GLvoid* glcGetPointer (GLCenum inAttrib);
  145. extern const GLCchar* glcGetc (GLCenum inAttrib);
  146. extern GLfloat glcGetf (GLCenum inAttrib);
  147. extern GLfloat* glcGetfv (GLCenum inAttrib, GLfloat *outVec);
  148. extern GLint glcGeti (GLCenum inAttrib);
  149. extern GLboolean glcIsEnabled (GLCenum inAttrib);
  150. extern void glcStringType (GLCenum inStringType);
  151.  
  152. /* GLC master commands */
  153. extern void glcAppendCatalog (const GLCchar *inCatalog);
  154. extern const GLCchar* glcGetMasterListc (GLint inMaster, GLCenum inAttrib, GLint inIndex);
  155. extern const GLCchar* glcGetMasterMap (GLint inMaster, GLint inCode);
  156. extern const GLCchar* glcGetMasterc (GLint inMaster, GLCenum inAttrib);
  157. extern GLint glcGetMasteri (GLint inMaster, GLCenum inAttrib);
  158. extern void glcPrependCatalog (const GLCchar *inCatalog);
  159. extern void glcRemoveCatalog (GLint inIndex);
  160.  
  161. /* GLC font commands */
  162. extern void glcAppendFont (GLint inFont);
  163. extern void glcDeleteFont (GLint inFont);
  164. extern void glcFont (GLint inFont);
  165. extern GLboolean glcFontFace (GLint inFont, const GLCchar *inFace);
  166. extern void glcFontMap (GLint inFont, GLint inCode, const GLCchar *inCharName);
  167. extern GLint glcGenFontID (void);
  168. extern const GLCchar* glcGetFontFace (GLint inFont);
  169. extern const GLCchar* glcGetFontListc (GLint inFont, GLCenum inAttrib, GLint inIndex);
  170. extern const GLCchar* glcGetFontMap (GLint inFont, GLint inCode);
  171. extern const GLbyte* glcGetFontMasterArray (GLint inFont, GLboolean inFull, GLint *outCount);
  172. extern const GLCchar* glcGetFontc (GLint inFont, GLCenum inAttrib);
  173. extern GLint glcGetFonti (GLint inFont, GLCenum inAttrib);
  174. extern GLboolean glcIsFont (GLint inFont);
  175. extern GLint glcNewFontFromFamily (GLint inFont, const GLCchar *inFamily);
  176. extern GLint glcNewFontFromMaster (GLint inFont, GLint inMaster);
  177. extern GLint glcNewFontFromMasterArray (GLint inFont, const GLCchar *inFormat, GLint inCount, const GLbyte *inArray);
  178.  
  179. /* GLC transformation commands */
  180. extern void glcLoadIdentity (void);
  181. extern void glcLoadMatrix (const GLfloat *inMatrix);
  182. extern void glcMultMatrix (const GLfloat *inMatrix);
  183. extern void glcRotate (GLfloat inAngle);
  184. extern void glcScale (GLfloat inX, GLfloat inY);
  185.  
  186. /* GLC rendering commands */
  187. extern void glcRenderChar (GLint inCode);
  188. extern void glcRenderCountedString (GLint inCount, const GLCchar *inString);
  189. extern void glcRenderString (const GLCchar *inString);
  190. extern void glcRenderStyle (GLCenum inStyle);
  191. extern void glcReplacementCode (GLint inCode);
  192. extern void glcResolution (GLfloat inVal);
  193.  
  194. /* GLC measurement commands */
  195. extern GLfloat* glcGetCharMetric(GLint inCode, GLCenum inMetric, GLfloat *outVec);
  196. extern GLfloat* glcGetMaxCharMetric(GLCenum inMetric, GLfloat *outVec);
  197. extern GLfloat* glcGetStringCharMetric(GLint inIndex, GLCenum inMetric, GLfloat *outVec);
  198. extern GLfloat* glcGetStringMetric(GLCenum inMetric, GLfloat *outVec);
  199. extern GLint glcMeasureCountedString (GLboolean inMeasureChars, GLint inCount, const GLCchar *inString);
  200. extern GLint glcMeasureString (GLboolean inMeasureChars, const GLCchar *inString);
  201.  
  202. #if defined (__cplusplus)
  203.     }
  204. #endif /* defined (__cplusplus) */
  205.  
  206. #endif /* defined (__glc_h_) */
  207.